var app = getApp();
const db = wx.cloud.database();
const command = db.command;
wx.cloud.init({
  env: 'wccloud-fm7zt'
})
Page({
  data: {
    // 从数据库读取到的工人列表
    items: [],
    startX: 0, //开始坐标
    startY: 0,
  },


  // 从数据库拿到工人列表
  get_workerlist:function(){
    db.collection('users').where({
      role:'worker'
    }).get().then(res=>{
      console.log(res.data);
      // 新搞一个数据接收
      var newarr = [];
      for(let num = 0;num<res.data.length;num++){
        newarr.push(res.data[num])
      }
      newarr.forEach(item=>{
        item.isTouchMove = false
      })
      console.log(newarr);
      this.setData({
        items: newarr
      })
    })



  },

  // 点击添加工人来添加一个工人
  add_worker:function(event){
    wx.navigateTo({
      url: '../../pages/add_worker/add_worker',
    })
  },

  onLoad: function () {
    this.get_workerlist();
  },

  //手指触摸动作开始 记录起点X坐标
  touchstart: function (e) {
    //开始触摸时 重置所有删除
    this.data.items.forEach(function (v, i) {
      if (v.isTouchMove) //只操作为true的
        v.isTouchMove = false;
    })
    this.setData({
      startX: e.changedTouches[0].clientX,
      startY: e.changedTouches[0].clientY,
      items: this.data.items
    })
  },
  //滑动事件处理
  touchmove: function (e) {
    var that = this,
      index = e.currentTarget.dataset.index, //当前索引
      startX = that.data.startX, //开始X坐标
      startY = that.data.startY, //开始Y坐标
      touchMoveX = e.changedTouches[0].clientX, //滑动变化坐标
      touchMoveY = e.changedTouches[0].clientY, //滑动变化坐标
      //获取滑动角度
      angle = that.angle({
        X: startX,
        Y: startY
      }, {
        X: touchMoveX,
        Y: touchMoveY
      });
    that.data.items.forEach(function (v, i) {
      v.isTouchMove = false
      //滑动超过30度角 return
      if (Math.abs(angle) > 30) return;
      if (i == index) {
        if (touchMoveX > startX) //右滑
          v.isTouchMove = false
        else //左滑
          v.isTouchMove = true
      }
    })
    //更新数据
    that.setData({
      items: that.data.items
    })
  },
  /**
   * 计算滑动角度
   * @param {Object} start 起点坐标
   * @param {Object} end 终点坐标
   */
  angle: function (start, end) {
    var _X = end.X - start.X,
      _Y = end.Y - start.Y
    //返回角度 /Math.atan()返回数字的反正切值
    return 360 * Math.atan(_Y / _X) / (2 * Math.PI);
  },

  //删除工人事件
  del: function (e) {
    wx.showModal({
      title: '提示',
      content: '是否确认移除该工人',
    }).then(res=>{
      console.log(res);
      if(res.confirm){ //用户点击了确认删除按钮
        wx.showLoading({
          title: '加载中',
        })
        // 这个就是点击了删除按钮的工人的ID，通过这个ID删除数据库的数据
        console.log(this.data.items[e.currentTarget.dataset.index]._id);
        
        var docid = this.data.items[e.currentTarget.dataset.index]._id;
        var pics = this.data.items[e.currentTarget.dataset.index].avatar;
        wx.cloud.callFunction({
          name:'update',
          data:{
            options:'delete_worker',
            docid:docid,
            pics:pics,
          }
        }).then(res=>{
          console.log("删除工人成功",res);
          wx.hideLoading().then(res=>{
            wx.showToast({
              title: '删除成功',
              icon:"none",
              duration:3000,
              mask:true,
            })
            this.data.items.splice(e.currentTarget.dataset.index, 1)
            this.setData({
              items: this.data.items
            })
          })
        })
      }else if(res.cancel){  //用户点击了取消按钮
        console.log("用户点击取消");
        wx.hideLoading()
      }
    })
  },

  // 编辑事件，点击来编辑工人信息
  edit: function (e) {
    console.log(e.currentTarget.dataset.index);
    console.log(this.data.items[e.currentTarget.dataset.index]._id);
    var docid = this.data.items[e.currentTarget.dataset.index]._id;
    wx.setStorage({
      data: this.data.items[e.currentTarget.dataset.index],
      key: 'edit_worker_detail',
    })
    wx.navigateTo({
      url: '../../pages/superadmin_editworker/superadmin_editworker',
    })
    // wx.setStorage({
    //   data: this.data.items[e.currentTarget.dataset.index],
    //   key: 'editnews',
    // })
    // wx.navigateTo({
    //   url: '../../pages/admin_editnews/admin_editnews',
    // })


  }

})